package com.tedu._04mybatis.mapper;

import com.tedu._04mybatis.pojo.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;

/**
 * 被@Mapper注解标注的接口，Mybatis启动时会为其生成实现类
 * 并自动添加到Spring容器中
 */
@Mapper
public interface UserMapper {
    /*
        INSERT INTO user(username,password,age)
        VALUES(?,?,?)
        PreparedStatement ps = connection.prepareStatement(sql);
        ps.setString(1, user.getUsername());
        ps.setString(2, user.getPassword());
        ps.setInt(3, user.getAge());

        注意Mybatis中的预编译SQL中并非用"?"占位，而是用#{}占位
        并且在其中定义传入的对象中属性的名字。这样Mybatis才能知道
        将对象的哪个属性插入到对应的字段上
     */
    @Insert("INSERT INTO user(username,password,age,created) " +
            "VALUES(#{username},#{password},#{age},#{created})")
    int insertUser(User user);
}
